/**
 * 描述: 服务-首页管理
 * 版权: Copyright (c) 2019
 * 公司: 深圳市网商天下科技开发有限公司
 * 作者: 许堉颖
 * 版本: 1.0.0
 * 创建时间: 2019/04/29 16:52
 */
import {Service, RequestParams} from 'vue-element-simple';

// ====================客户(用户)管理
/**
 * 分页获取客户(用户)列表
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationGetCustomerList = async function (params = {}) {
  const request = new RequestParams();
  // 页数
  request.put('page', params['page'], 1);
  // 每页条数
  request.put('pageSize', params['pageSize'], 20);
  // 客户(用户)名称
  request.put('search', params['search']);
  // 注册时间起点
  request.put('timeFrom', params['timeFrom']);
  // 注册时间终点
  request.put('timeTo', params['timeTo']);
  return await this.getService(`/admin/user/getPageList`, request);
};

/**
 * 获取默认用户头像
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationGetDefaultAvatar = async function () {
  const request = new RequestParams();
  return await this.getService(`/admin/attach/handOut/getUserDefaultAvatar`, request);
};

/**
 * 获取所有用戶列表
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationGetAllUserList = async function () {
  const request = new RequestParams();
  return await this.getService(`/admin/attach/handOut/userList`, request);
};

/**
 * 获取客户(用户)信息
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationCustomerGetDetailsById = async function (params = {}) {
  const request = new RequestParams();
  // 客户(用户)ID
  request.put('id', params['id']).checkEmpty('客户ID');
  return await this.getService(`/admin/user/getDetailsById`, request);
};

/**
 * 修改客户(用户)状态
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationSetCustomerStatus = async function (params = {}) {
  const request = new RequestParams();
  // 标签ID
  request.put('id', params['id']).checkEmpty('客户ID');
  // 客户(用户)状态  1启用；0禁用
  request.put('status', params['status']).checkEmpty('客户状态');
  return await this.getService(`/admin/user/update/status`, request);
};

/**
 * 删除客户(用户)
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationCustomerDelete = async function (params = {}) {
  const request = new RequestParams();
  // 客户(用户)ID
  request.put('id', params['id']).checkEmpty('客户ID');
  return await this.getService(`/admin/user/delete`, request);
};

/**
 * 添加客户(用户)
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationAddCustomer = async function (params = {}) {
  const request = new RequestParams();
  // 客户(用户)名称
  request.put('nickname', params['nickname']).checkEmpty('用户名');
  // 联系电话
  request.put('mobile', params['mobile']).checkEmpty('联系电话');
  // 性别
  request.put('gender', params['gender']).checkEmpty('性别');
  // 状态
  request.put('status', params['status']).checkEmpty('状态');
  // 地址
  request.put('address', params['address']);
  // email
  request.put('email', params['email']);
  // 头像
  request.put('avatar', params['avatar']);
  // 备注
  request.put('remark', params['remark']);
  return await this.getService(`/admin/user/create`, request);
};

/**
 * 编辑客户(用户)
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationCustomerInfoUpdate = async function (params = {}) {
  const request = new RequestParams();
  // 客户(用户)ID
  request.put('id', params['id']).checkEmpty('ID');
  // 联系电话
  request.put('mobile', params['mobile']).checkEmpty('联系电话');
  // 备注
  request.put('remark', params['remark']);
  // 联系地址
  request.put('address', params['address']);
  // 邮箱
  request.put('email', params['email']);
  // 是否是司机
  request.put('userType', params['userType']);
  // 状态
  request.put('status', params['status']).checkEmpty('状态');
  return await this.getService(`/admin/user/update`, request);
};

/**
 * 更改客户(用户)状态
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationChangeCustomerStatus = async function (params = {}) {
  const request = new RequestParams();
  // 客户(用户)ID
  request.put('id', params['id']).checkEmpty('ID');
  // 状态
  request.put('status', params['status']).checkEmpty('状态');
  return await this.getService(`/admin/user/update`, request);
};

/**
 * 通过文件地址导入客户(用户)
 * @param params
 * @returns {Promise.<*>}
 */
Service.applicationImportCustomerData = async function (params = {}) {
  const request = new RequestParams();
  // 文件地址
  request.put('address', params['address']).checkEmpty('文件地址');
  return await this.getService(`/admin/user/importData`, request);
};
// ====================客户(用户)管理
